Adding additional information to caller ID information

ABSTRACT

A device may receive a first query from a terminating device. The first query may be based on the terminating device having received, from a calling party device, a request to establish a connection with a called party device. The first query may be based on information associated with the calling party device. The device may send, to a caller information device, a second query based on the first query. The device may receive, from the caller information device, caller information based on the second query. The device may compare the caller information to a criterion. The device may modify the caller information, to create modified caller information, when the caller information satisfies the criterion. The device may send the modified caller information to the terminating device for forwarding to another device to support determining how to handle, for the called party device, the request to establish the connection.

BACKGROUND

A calling party device (e.g., a device associated with a calling party)may attempt to establish a connection with a called party device (e.g.,a device associated with a called party). An identification service(e.g., a caller identification (ID) service) may allow callerinformation (e.g., identification information associated with thecalling party device, such as a caller number or a caller name) to bereceived by the called party device. The caller information may bedisplayed by the called party device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an overview of an example implementationdescribed herein;

FIG. 2 is a diagram of an example environment in which systems and/ormethods, described herein, may be implemented;

FIG. 3 is a diagram of example components of one or more devices of FIG.2; and

FIG. 4 is a flow chart of an example process for adding additionalinformation to caller information.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

A user of a called party device may desire to make a decision about howto handle an incoming call (e.g., to answer, block, or ignore the call)before actually accepting the call. The user of the called party device,or a service acting on behalf of the user, may make a decision about howto handle an incoming call based on caller information (e.g.,identification information associated with the calling party device,such as a caller number or a caller name) that is received by the calledparty device before accepting the call. However, the caller information(e.g., a caller number or a caller name) received before accepting acall may not provide a sufficient basis to make a decision about how tohandle the call. Implementations described herein may add additionalinformation (e.g., information beyond a caller number and/or a callername) to the caller information. The additional information may enable auser of a called party device, or a service acting on behalf of theuser, to make an informed decision about how to handle an incoming call(e.g., to accept, block, answer, or ignore the call).

FIG. 1 is a diagram of an overview of an example implementation 100described herein. As shown in FIG. 1, assume that a calling partydevice, having a caller number (e.g., a telephone number) of659-555-3758 and being associated with ABC Company, initiates a call(e.g., to establish a connection with) a called party device.

As shown by reference number 105, the calling party device may call thecalled party device (e.g., send a request to establish a connection withthe called party device). The call may be routed through one or moretelephone networks and/or one or more other types of networks to aterminating device. In some implementations, the call (e.g., the requestto establish a connection) may include calling party device information(e.g., a caller number or other identification information associatedwith the calling party device).

The terminating device may obtain calling party device information(e.g., the caller number: 659-555-3758) for the calling party devicebased on the request to establish a connection. As shown by referencenumber 110, the terminating device may send a query, based on thecalling party device information (e.g., the caller number:659-555-3758), to a screening device. Based on the query received fromthe terminating device, the screening device may send, to a callerinformation device, a query based on the calling party deviceinformation (e.g., the caller number: 659-555-3758), as shown byreference number 115. Based on the query received from the screeningdevice, the caller information device may send, to the screening device,caller information (e.g., the caller number and caller name:{659-555-3758; ABC COMPANY}) for the calling party device, as shown byreference number 120.

As shown by reference number 125, the screening device may screen thecaller information against predetermined criteria (e.g., a time of day,a time range, a pattern, a ranking, a list of caller numbers and/orcaller names, a presence of predetermined words, or the like). If thecaller information satisfies the criteria, the screening device maymodify the caller information based on the criteria. If the callerinformation does not satisfy the criteria, the screening device may sendthe caller information, without modification, to the terminating devicefor forwarding to the called party device and/or to a call handlingdevice.

As further shown in FIG. 1, assume that the caller information (e.g.,the caller number and caller name: {659-555-3758; ABC COMPANY})satisfied the criteria, such that the screening device modified thecaller information (e.g., by inserting an “*” at the start of the callername field). Then, as shown by reference number 130, the screeningdevice may send the modified caller information (e.g., {659-555-3758;*ABC Company}) to the terminating device.

When the terminating device receives the modified caller informationfrom the screening device, the terminating device may route the call(e.g., the request to establish a connection with the called partydevice), with the modified caller information, to the called partydevice (as shown by reference number 135) and/or to the call handlingdevice (as shown by reference number 140). As shown by reference number145, the called party device may display the modified caller information(e.g., as part of a caller ID display). As shown by reference number150, the call handling device may determine, based on the modifiedcaller information, how the call should be handled for the called partydevice (e.g., whether the call should be blocked or sent to the calledparty device).

In this way, implementations described herein may modify callerinformation (e.g., caller ID information) to add additional informationto the caller information that may enable a user of a called partydevice, or a service acting on behalf of the user, to make an informeddecision about how to handle an incoming call (e.g., to answer, block,or ignore the call). Enabling informed decision making with regard toincoming calls may reduce the number of unwanted calls that are acceptedby a called party device, which may reduce network resources that mightotherwise be consumed handling unwanted calls. Reducing the number ofunwanted calls that are accepted by a called party device may alsoconserve resources on the calling party device and/or the called partydevice by not connecting a call that the called party is not interestedin receiving.

As indicated above, FIG. 1 is provided merely as an example. Otherexamples are possible and may differ from what was described with regardto FIG. 1.

FIG. 2 is a diagram of an example environment 200 in which systemsand/or methods, described herein, may be implemented. As shown in FIG.2, environment 200 may include a calling party device 210, a terminatingdevice 220, a screening device 230, a caller information device 240, acalled party device 250, a call handling device 260, and a network 270.Devices of environment 200 may interconnect via wired connections,wireless connections, or a combination of wired and wirelessconnections.

Calling party device 210 includes a device that is capable ofcommunicating with one or more other devices included in environment200. For example, calling party device 210 may include a wiredcommunication device, a plain old telephone service (POTS) telephone, avoice over Internet protocol (VoIP) telephone, a wireless communicationdevice, a radiotelephone, a personal communications system (“PCS”)terminal (e.g., that may combine a cellular radiotelephone with dataprocessing and data communications capabilities), a smart phone, adesktop computer, a laptop computer, a tablet computer, a personalgaming system, and/or a similar device. In some implementations, callingparty device 210 may be capable of receiving and/or providinginformation associated with an Internet protocol (IP) MultimediaSubsystem (IMS) service.

In some implementations, calling party device 210 may include a devicecapable of initiating and participating in a call (e.g., a voice call ora video call) with called party device 250 via network 270 andterminating device 220. In some implementations, calling party device210 may store and/or transmit identification information associated withcalling party device 210.

Terminating device 220 includes one or more devices capable ofreceiving, generating, processing, storing, and/or providing information(e.g., communication traffic, identification information associated withthe calling party device, information associated with a connectionrequest, or the like) associated with calling party device 210 and/orcalled party device 250. For example, terminating device 220 may includea traffic transfer device, such as a server, a gateway, a router, amodem, a switch, a firewall, a network interface card (“NIC”), a hub, abridge, an optical add/drop multiplexer (“OADM”), an end office switch,a softswitch, an IMS core device, or the like. In some implementations,terminating device 220 may assist in establishing a connection betweencalling party device 210 and called party device 250 (e.g., terminatingdevice 220 may include a terminating switch, an end office switch, asoftswitch, a signaling system 7 (“SS7”) class 4 switch, an SS7 class 5switch, or the like). In some implementations, one or more terminatingdevices 220 may be included in or associated with network 270.

In some implementations, terminating device 220 may transmitidentification information (e.g., caller information) using a particularprotocol (e.g., SS7, SS7 utilizing an Advanced Intelligent Network(AIN), session initiation protocol (SIP), or the like). In someimplementations, terminating device 220 may send and/or receive, toand/or from calling party device 210 and/or called party device 250,identification information (e.g., caller information) while a request toestablish a connection passes through network 270. In someimplementations, terminating device 220 may generate and send (e.g., toscreening device 230) identification queries and/or receive (e.g., fromscreening device 230) responses to identification queries. In someimplementations, terminating device 220 may send caller information(e.g., received from screening device 230) to called party device 250and/or to call handling device 260.

Screening device 230 includes one or more devices capable of receiving,processing, and responding to identification queries (e.g., fromterminating device 220) based on calling party device informationassociated with calling party device 210. For example, screening device230 may generate and send (e.g., to caller information device 240)caller information queries and/or receive (e.g., from caller informationdevice 240) responses to caller information queries. In someimplementations, screening device 230 may analyze and/or modify callerinformation (e.g., caller information received from caller informationdevice 240) and send caller information and/or modified callerinformation to terminating device 220. In some implementations, such aswhere terminating device 220 has sufficient processing power andresources, screening device 230 may be implemented as a component orfunction of terminating device 220. In some implementations, screeningdevice 230 may include one or more devices that are separate fromterminating device 220.

Caller information device 240 includes one or more devices or systemscapable of receiving, generating, processing, storing, and/or providingcaller information to screening device 230 and/or terminating device220. For example, caller information device 240 may include a serverdevice, such as a line information database (LIDB) device, a homesubscriber server (HSS), or the like, capable of storing and/orproviding caller information (e.g., caller name information, callernumber information, caller location information, or the like) associatedwith communication devices (e.g., calling party device 210). In someimplementations, caller information device 240 may be associated withnetwork 270, screening device 230, and/or terminating device 220.

Called party device 250 includes a device that is capable ofcommunicating with one or more other devices included in environment200. For example, called party device 250 may include a wiredcommunication device, a POTS telephone, a VoIP telephone, a wirelesscommunication device, a radiotelephone, a PCS terminal, a smart phone, adesktop computer, a laptop computer, a tablet computer, a personalgaming system, and/or a similar device. In some implementations, calledparty device 250 may be capable of receiving and/or providinginformation associated with an IMS service.

In some implementations, called party device 250 may include a devicecapable of initiating and participating in a call (e.g., a voice call ora video call) with calling party device 210 via terminating device 220and network 270. In some implementations, called party device 250 mayreceive and/or display caller information (e.g., identificationinformation associated with calling party device 210) that is includedin a request for called party device 250 to establish a connection withcalling party device 210.

Call handling device 260 includes one or more devices capable ofreceiving and processing requests to establish a connection with (e.g.,calls to) called party device 250. For example, call handling device 260may be associated with a service, acting on behalf of a user of calledparty device 250, to handle (e.g., block or allow through) incomingcalls to called party device 250. In some implementations, call handlingdevice 260 may determine how to handle an incoming call based on callerinformation and/or modified caller information received from terminatingdevice 220. In some implementations, call handling device 260 may beimplemented as a component or function of terminating device 220. Insome implementations, call handling device 260 may be implemented as acomponent or function of called party device 250. In someimplementations, call handling device 260 may include one or moredevices that are separate from terminating device 220 and called partydevice 250.

Network 270 includes one or more wired and/or wireless networks. Forexample, network 270 may include a cellular network (e.g., a long-termevolution (LTE) network, a 3G network, a code division multiple access(CDMA) network, or the like), a public land mobile network (PLMN), alocal area network (LAN), a wireless LAN (e.g., a Wi-Fi network), a widearea network (WAN), a metropolitan area network (MAN), a telephonenetwork (e.g., the Public Switched Telephone Network (PSTN)), a privatenetwork, an ad hoc network, an intranet, the Internet, a fiberoptic-based network, a cloud computing network, or the like, and/or acombination of these or other types of networks. In someimplementations, network 270 may include one or more terminating devices220.

The number and arrangement of devices and networks shown in FIG. 2 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may beimplemented within a single device, or a single device shown in FIG. 2may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as beingperformed by another set of devices of environment 200.

FIG. 3 is a diagram of example components of a device 300. Device 300may correspond to calling party device 210, terminating device 220,screening device 230, caller information device 240, called party device250, and/or call handling device 260. In some implementations, callingparty device 210, terminating device 220, screening device 230, callerinformation device 240, called party device 250, and/or call handlingdevice 260 may include one or more devices 300 and/or one or morecomponents of device 300. As shown in FIG. 3, device 300 may include abus 310, a processor 320, a memory 330, a storage component 340, aninput component 350, an output component 360, and a communicationinterface 370.

Bus 310 includes a component that permits communication among thecomponents of device 300. Processor 320 is implemented in hardware,firmware, or a combination of hardware and software. Processor 320includes a processor (e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), an accelerated processing unit (APU), etc.), amicroprocessor, a microcontroller, and/or any processing component(e.g., a field-programmable gate array (FPGA) or an application-specificintegrated circuit (ASIC)) that interprets and/or executes instructions.In some implementations, processor 320 may include one or moreprocessors capable of being programmed to perform a function. Memory 330includes a random access memory (RAM), a read only memory (ROM), and/oranother type of dynamic or static storage device (e.g., a flash memory,a magnetic memory, an optical memory, etc.) that stores informationand/or instructions for use by processor 320.

Storage component 340 stores information and/or software related to theoperation and use of device 300. For example, storage component 340 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, a solid state disk, etc.), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of non-transitory computer-readable medium,along with a corresponding drive.

Input component 350 includes a component that permits device 300 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, or amicrophone). Additionally, or alternatively, input component 350 mayinclude a sensor for sensing information (e.g., a global positioningsystem (GPS) component, an accelerometer, a gyroscope, or an actuator).Output component 360 includes a component that provides outputinformation from device 300 (e.g., a display, a speaker, or one or morelight-emitting diodes (LEDs)).

Communication interface 370 includes a transceiver-like component (e.g.,a transceiver or a separate receiver and transmitter) that enablesdevice 300 to communicate with other devices, such as via a wiredconnection, a wireless connection, or a combination of wired andwireless connections. Communication interface 370 may permit device 300to receive information from another device and/or provide information toanother device. For example, communication interface 370 may include anEthernet interface, an optical interface, a coaxial interface, aninfrared interface, a radio frequency (RF) interface, a universal serialbus (USB) interface, a Wi-Fi interface, a cellular network interface, orthe like.

Device 300 may perform one or more processes described herein. Device300 may perform these processes in response to processor 320 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 330 and/or storage component 340. Acomputer-readable medium is defined herein as a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 330 and/or storagecomponent 340 from another computer-readable medium or from anotherdevice via communication interface 370. When executed, softwareinstructions stored in memory 330 and/or storage component 340 may causeprocessor 320 to perform one or more processes described herein.Additionally, or alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 3 are provided asan example. In practice, device 300 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 3. Additionally, or alternatively, aset of components (e.g., one or more components) of device 300 mayperform one or more functions described as being performed by anotherset of components of device 300.

FIG. 4 is a flow chart of an example process 400 for adding additionalinformation to caller information. In some implementations, one or moreprocess blocks of FIG. 4 may be performed by screening device 230. Insome implementations, one or more process blocks of FIG. 4 may beperformed by another device or a group of devices separate from orincluding screening device 230, such as calling party device 210,terminating device 220, caller information device 240, called partydevice 250, and/or call handling device 260.

As shown in FIG. 4, process 400 may include receiving an identificationquery, from a terminating device, based on calling party deviceinformation (block 410). For example, screening device 230 may receive,from terminating device 220, an identification query with regard tocalling party device 210.

In some implementations, terminating device 220 may have received, fromcalling party device 210 and via network 270, a request to establish aconnection with called party device 250. When terminating device 220receives the request to establish a connection with called party device250, terminating device 220 may generate and send, to screening device230, an identification query.

In some implementations, terminating device 220 may determine whether togenerate and send an identification query based on an identity of thecalled party device for which a connection is requested. In someimplementations, terminating device 220 may generate and send anidentification query when a connection is requested to any called partydevice that is serviced by terminating device 220.

The identification query may be based on calling party deviceinformation associated with calling party device 210. The calling partydevice information may include a caller number (e.g., a phone number) orother identification information (e.g., information present in networkdata or signaling) associated with calling party device 210. If callingparty device 210 is a mobile device, the calling party deviceinformation may include a mobile device number (MDN), an internationalmobile subscriber identity (IMSI), a temporary mobile subscriberidentity (TMSI), or the like. In some implementations, theidentification query may include the calling party device information.

In some implementations, screening device 230 may receive the callingparty device information from calling party device 210. For example, therequest to establish a connection with called party device 250 mayinclude the calling party device information.

As further shown in FIG. 4, process 400 may include sending a callerinformation query, to a caller information device, based on theidentification query (block 420). For example, screening device 230 maysend a caller information query to caller information device 240.

The caller information query may be based on the identification query.For example, upon receiving the identification query from terminatingdevice 220, screening device 230 may generate and send, to callerinformation device 240, a caller information query based on the callingparty device information. In some implementations, the callerinformation query may include the calling party device information(e.g., a caller number or other identification information associatedwith calling party device 210).

As further shown in FIG. 4, process 400 may include receiving, from thecaller information device, caller information based on the callerinformation query (block 430). For example, screening device 230 mayreceive caller information from caller information device 240. Callerinformation may include identification information associated withcalling party device 210, such as a caller number, a caller name, acaller location, or the like.

The caller information may be based on the caller information query thatscreening device 230 sent to caller information device 240. For example,upon receiving the caller information query from screening device 230,caller information device 240 (e.g., a LIDB) may identify callerinformation (e.g., a caller name) that corresponds to the calling partydevice information (e.g., a caller number) included in the callerinformation query.

In some implementations, caller information device 240 may send, toscreening device 230, additional information that corresponds to thecaller information and/or the calling party device information. Forexample, caller information device 240 may additionally send apresentation indicator based on the caller information and/or thecalling party device information. In some implementations, thepresentation indicator may specify whether presentation (e.g., display)of the caller information (e.g., a caller name or a caller number)and/or the calling party device information (e.g., a caller number) isallowed or disallowed.

As further shown in FIG. 4, process 400 may include determining whetherthe caller information satisfies a criterion (block 440). For example,screening device 230 may determine whether the caller informationsatisfies a criterion or a set of criteria, which may include objectiveand subjective criteria. As used herein, satisfying a criterion mayrefer to matching one or more items of information, matching multipleitems of information, matching a combination of items of information,exhibiting one or more patterns and/or characteristics, satisfying athreshold, or the like.

In some implementations, criteria may be defined by a system operator(e.g., an operator of terminating device 220, screening device 230,caller information device 240, called party device 250, and/or network270). In some implementations, criteria may be defined by a user ofcalled party device 250 and/or an operator of call handling device 260.

In some implementations, the criteria may include a time of day, a timerange, a ranking assigned to caller information (e.g., a trust ranking,a suspicion ranking, an importance ranking), whether the callerinformation is associated with any reporting to, or action taken by, agovernmental body (e.g., the Federal Communications Commission (FCC) inthe U.S.), whether the caller information includes predetermined words,or the like.

In some implementations, the criteria may include a pattern of callsassociated with a caller number and/or a caller name. For example, thecriteria may include a behavioral pattern (e.g., calls, from a callernumber or a caller name, to multiple different called party devicesbased on sequential phone numbers) or a volumetric pattern (e.g., calls,from a caller number or a caller name, to more than a threshold numberof called party devices within a predetermined time period).

In some implementations, caller information that satisfies a criterionmay indicate that a request to establish a connection with called partydevice 250 should be rejected. For example, the criterion may beindicative of a request to establish an unwanted (e.g., by a user ofcalled party device 250) connection.

In some implementations, caller information that satisfies a criterionmay indicate that a request to establish a connection with called partydevice 250 should be accepted. For example, the criterion may beindicative of a request to establish an expected (e.g., by a user ofcalled party device 250) or important connection.

In some implementations, the caller information may satisfy a criterionwhen the caller information matches information in one or more lists(e.g., lists of caller names and/or caller numbers). For example, thecaller information may satisfy a criterion when the caller information(e.g., caller name or caller number) matches information in a white list(e.g., a list of trusted caller numbers or caller names), a black list(e.g., a list of caller numbers or caller names to be blocked), a graylist, or another purpose-driven list. Such lists may be provided by auser of called party device 250, third parties, trusted sources, orauthoritative sources.

In some implementations, the criteria may include objective criteriaand/or industry lists, which may be used to identify caller informationthat may be associated with robocalling activities (e.g., phone callsmade using a computerized autodialer to deliver pre-recorded messages).

As further shown in FIG. 4, if the caller information does not satisfy acriterion (block 440—NO), process 400 may include sending callerinformation to the terminating device for forwarding to a called partydevice and/or a call handling device (block 450). For example, ifscreening device 230 determines that the caller information does notsatisfy a criterion, screening device 230 may send the callerinformation (e.g., without modification) to terminating device 220. Insome implementations, terminating device 220 may forward the unmodifiedcaller information to called party device 250 and/or to call handlingdevice 260.

As further shown in FIG. 4, if the caller information satisfies acriterion (block 440—YES), process 400 may include modifying the callerinformation based on the satisfied criterion (block 460). For example,if screening device 230 determines that the caller information satisfiesa criterion, screening device 230 may modify the caller information toprovide additional information to indicate that the caller informationsatisfies the criterion. In some implementations, screening device 230may modify the caller information, to provide the additionalinformation, by adding characters to the caller information, changingcharacters in the caller information, deleting characters from thecaller information, changing how the caller information will bedisplayed (e.g., changing a display color or causing the callerinformation to flash), adding a media file (e.g., an image file, anaudio file, or a video file) to the caller information, or the like.

In some implementations, screening device 230 may modify or supplementthe content of one or more fields (e.g., the caller name field or thecaller number field) within the caller information to indicate that thecaller information satisfies a criterion. For example, screening device230 may add a character (e.g., an “*”) or set of characters to one ormore caller information fields (e.g., the caller name field or thecaller number field). In some implementations, screening device 230 mayinsert a character or a set of characters at the start of one or morecaller information fields (e.g., the caller name field or the callernumber field) to indicate that the caller information satisfies acriterion.

When modifying the caller information, screening device 230 may do sobased on the satisfied criterion. For example, screening device 230 maymodify the caller information to indicate which criterion and/or type ofcriterion was satisfied by the caller information. In someimplementations, screening device 230 may add particular characters orcombinations of characters to indicate particular satisfied criteria.For example, screening device 230 may add the characters “WL-” to thestart of the caller name field and/or the caller number field toindicate that the caller information matches caller information in awhite list. Alternatively, screening device 230 may, for example, addthe character “*” to the start of the caller name field and/or thecaller number field to indicate that the caller information matched apattern suggestive of an unwanted call (e.g., a robocall). In someimplementations, screening device 230 may modify the caller informationto specify whether the caller information (e.g., a caller name or acaller number) and/or the calling party device information (e.g., acaller number) has been verified (e.g., has not been spoofed).

In some implementations, screening device 230 may replace or fill one ormore caller information fields with a substitute value, such as UNKNOWNor PRIVATE. For example, screening device 230 may not receive a callername for calling party device 210, or a presentation indicator mayindicate that display of the caller name and/or the caller number isdisallowed. In some implementations, screening device 230 may modify orsupplement the substitute value (e.g., by inserting a character or a setof characters at the start of the substitute value) to indicate thatcaller information associated with an incoming call satisfies acriterion even though the caller information might be unavailable fordisplay.

As further shown in FIG. 4, process 400 may include sending the modifiedcaller information to the terminating device for forwarding to thecalled party device and/or the call handling device (block 470). Forexample, screening device 230 may send the modified caller informationto terminating device 220. In some implementations, terminating device220 may forward the modified caller information to called party device250 (e.g., for display to a user of called party device 250) and/or tocall handling device 260. In some implementations, terminating device220 may forward the modified caller information to a device, separatefrom called party device 250, for display to a user of called partydevice 250.

In some implementations, the modified caller information (e.g., whenforwarded to called party device 250 and/or call handling device 260)may be used to support determining how to handle a request to establishthe connection with (e.g., a call to) called party device 250. Forexample, a user of called party device 250 may use the additionalinformation included in the modified caller information to determinewhether to accept a request to establish a connection (e.g., a call).Alternatively, call handling device 260 may use the additionalinformation included in the modified caller information to determinewhether to block a request to establish a connection (e.g., a call),allow the request (e.g., the call) to be received by called party device250, send the request (e.g., the call) to a voicemail system, generatean e-mail or text message based on the request, generate a log in afile, or the like.

In some implementations, the modified caller information may be used forautomated call handling (e.g., by terminating device 220, called partydevice 250, and/or call handling device 260). For example, terminatingdevice 220, called party device 250, and/or call handling device 260 maydetermine how to handle (e.g., allow or block) an incoming call based onidentification of the characters added to one or more caller informationfields of the modified caller information. In some implementations,customized handling of calls may be defined for various criteriaconsidered by screening device 230 (e.g., as reflected by variouscharacters or sets of characters that may be added to one or more callerinformation fields of the modified caller information).

Although FIG. 4 shows example blocks of process 400, in someimplementations, process 400 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 4. Additionally, or alternatively, two or more of theblocks of process 400 may be performed in parallel.

Implementations described herein may modify caller information (e.g.,caller ID information) to add additional information to the callerinformation, which may enable a user of a called party device, or aservice acting on behalf of the user, to make an informed decision abouthow to handle an incoming call (e.g., to answer, block, or ignore thecall). Enabling informed decision making with regard to incoming callsmay reduce the number of unwanted calls that are accepted by a calledparty device, which may reduce network resources that might otherwise beconsumed handling unwanted calls. Reducing the number of unwanted callsthat are accepted by a called party device may also conserve resourceson the calling party device and/or the called party device by notconnecting a call that the called party is not interested in receiving.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term component is intended to be broadly construedas hardware, firmware, or a combination of hardware and software.

Some implementations are described herein in connection with thresholds.As used herein, satisfying a threshold may refer to a value beinggreater than the threshold, more than the threshold, higher than thethreshold, greater than or equal to the threshold, less than thethreshold, fewer than the threshold, lower than the threshold, less thanor equal to the threshold, equal to the threshold, etc.

To the extent the aforementioned embodiments modify caller information(e.g., caller ID information), it should be understood that suchmodification shall be in accordance with all applicable laws concerningcaller information.

To the extent the aforementioned embodiments collect, store, or employpersonal information provided by individuals, it should be understoodthat such information shall be used in accordance with all applicablelaws concerning protection of personal information. Additionally, thecollection, storage, and use of such information may be subject toconsent of the individual to such activity, for example, through wellknown “opt-in” or “opt-out” processes as may be appropriate for thesituation and type of information. Storage and use of personalinformation may be in an appropriately secure manner reflective of thetype of information, for example, through various encryption andanonymization techniques for particularly sensitive information.

It will be apparent that systems and/or methods, described herein, maybe implemented in different forms of hardware, firmware, or acombination of hardware and software. The actual specialized controlhardware or software code used to implement these systems and/or methodsis not limiting of the implementations. Thus, the operation and behaviorof the systems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwarecan be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of possible implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of possible implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Furthermore,as used herein, the term “set” is intended to include one or more items(e.g., related items, unrelated items, a combination of related andunrelated items, etc.), and may be used interchangeably with “one ormore.” Where only one item is intended, the term “one” or similarlanguage is used. Also, as used herein, the terms “has,” “have,”“having,” or the like are intended to be open-ended terms. Further, thephrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

What is claimed is:
 1. A device, comprising: one or more processors to:receive, from a terminating device, a first query, the first query beingbased on the terminating device having received, from a calling partydevice, a request to establish a connection with a called party device,and the first query being based on information associated with thecalling party device; send, to a caller information device, a secondquery based on the first query; receive, from the caller informationdevice, caller information based on the second query; compare the callerinformation to a criterion to determine that the caller informationsatisfies the criterion; modify the caller information to createmodified caller information, the caller information being modified basedon the caller information satisfying the criterion; and send themodified caller information to the terminating device for forwarding toanother device to support determining how to handle the request toestablish the connection with the called party device.
 2. The device ofclaim 1, where the criterion comprises a pattern.
 3. The device of claim1, where the caller information includes at least one of a caller namefield or a caller number field; and where the one or more processors,when modifying the caller information to create the modified callerinformation, are to: modify the at least one of the caller name field orthe caller number field.
 4. The device of claim 1, where the callerinformation includes at least one field; and where the one or moreprocessors, when modifying the caller information to create the modifiedcaller information, are to: add at least one character to the at leastone field.
 5. The device of claim 1, where the caller informationincludes a calling party device caller number; where the criterionincludes a list of caller numbers; and where the caller informationsatisfies the criterion when the calling party device caller numbermatches a caller number in the list of caller numbers.
 6. The device ofclaim 1, where the criterion is associated with an unwanted connectionof the called party device; and where the one or more processors, whenmodifying the caller information to create the modified callerinformation, are to: add at least one character to the callerinformation, the at least one character designating the request as beingassociated with the unwanted connection of the called party device. 7.The device of claim 1, where the other device is the called partydevice.
 8. A non-transitory computer-readable medium storinginstructions, the instructions comprising: one or more instructionsthat, when executed by one or more processors, cause the one or moreprocessors to: receive, from a terminating device, a first query, thefirst query being based on the terminating device having received, froma calling party device, a request to establish a connection with acalled party device, and the first query being based on informationassociated with the calling party device; send, to a caller informationdevice, a second query based on the first query; receive, from thecaller information device, caller information based on the second query;compare the caller information to a criterion to determine whether thecaller information satisfies the criterion; modify the callerinformation, to create modified caller information, when the callerinformation satisfies the criterion; and send the modified callerinformation to the terminating device for forwarding to another deviceto support determining how to handle, for the called party device, therequest to establish the connection.
 9. The non-transitorycomputer-readable medium of claim 8, where the one or more instructions,that cause the one or more processors to compare the caller informationto the criterion to determine whether the caller information satisfiesthe criterion, cause the one or more processors to: compare the callerinformation to a plurality of criteria to determine whether the callerinformation satisfies the plurality of criteria, the plurality ofcriteria including the criterion.
 10. The non-transitorycomputer-readable medium of claim 8, where the caller informationincludes at least one of a caller name field or a caller number field;and where the one or more instructions, that cause the one or moreprocessors to modify the caller information to create the modifiedcaller information, cause the one or more processors to: modify the atleast one of the caller name field or the caller number field.
 11. Thenon-transitory computer-readable medium of claim 8, where the callerinformation includes at least one field; and where the one or moreinstructions, that cause the one or more processors to modify the callerinformation to create the modified caller information, cause the one ormore processors to: add at least one character to the at least onefield.
 12. The non-transitory computer-readable medium of claim 8, wherethe caller information includes a calling party device caller number;where the criterion includes a list of caller numbers; and where the oneor more instructions, that cause the one or more processors to comparethe caller information to the criterion to determine whether the callerinformation satisfies the criterion, cause the one or more processorsto: compare the caller information to the criterion to determine thatthe calling party device caller number matches a caller number in thelist of caller numbers.
 13. The non-transitory computer-readable mediumof claim 12, where the one or more instructions, when executed by theone or more processors, further cause the one or more processors to:receive, from the called party device and before comparing the callerinformation to the criterion, the list of caller numbers.
 14. Thenon-transitory computer-readable medium of claim 8, where the one ormore instructions, that cause the one or more processors to modify thecaller information to create the modified caller information, cause theone or more processors to: add at least one character to the callerinformation, the at least one character being indicative of whether toallow or block the request to establish the connection.
 15. A method,comprising: receiving, by a device and from a terminating device, afirst query, the first query being based on the terminating devicehaving received, from a calling party device, a request to establish aconnection with a called party device, and the first query being basedon information associated with the calling party device; sending, by thedevice and to a caller information device, a second query based on thefirst query; receiving, by the device and from the caller informationdevice, caller information based on the second query; comparing, by thedevice, the caller information to a criterion; modifying, by the device,the caller information to create modified caller information when thecaller information satisfies the criterion; and sending, by the device,the modified caller information to the terminating device for forwardingto another device to support determining how to handle, for the calledparty device, the request to establish the connection.
 16. The method ofclaim 15, where the caller information includes at least one of a callername field or a caller number field; and where modifying the callerinformation to create the modified caller information comprises:modifying the at least one of the caller name field or the caller numberfield.
 17. The method of claim 15, where the caller information includesat least one field; and where modifying the caller information to createthe modified caller information comprises: adding at least one characterto the at least one field.
 18. The method of claim 15, where thecriterion includes at least one of a behavioral pattern or a volumetricpattern; and where comparing the caller information to the criterioncomprises: comparing the caller information to the at least one of thebehavioral pattern or the volumetric pattern to determine whether thecaller information exhibits the at least one of the behavioral patternor the volumetric pattern.
 19. The method of claim 15, where modifyingthe caller information to create the modified caller informationcomprises: modifying the caller information based on the criterion. 20.The method of claim 15, where modifying the caller information to createthe modified caller information comprises: adding at least one characterto the caller information, the at least one character being indicativeof whether to block the request to establish the connection.